package com.thinvent.recommend.manager.manager;

import com.thinvent.recommend.entity.KbFileInfo;
import com.thinvent.recommend.manager.dto.Pager;

import java.time.LocalDateTime;

public interface FileInfoManager {

    /**
     * 兼容旧版：全量分页
     */
    default Pager<KbFileInfo> listActiveFiles(int pageNum, int pageSize) {
        return listActiveFiles(pageNum, pageSize, null, null);
    }

    /**
     * 分页查询“活跃”文档，
     * 如果 startTime/endTime 均为 null 则等同于全量分页，否则只返回 updateTime 在区间 [startTime, endTime] 的记录。
     *
     * @param pageNum   第几页，从 1 开始
     * @param pageSize  每页大小
     * @param startTime 可选，同步 updateTime >= startTime
     * @param endTime   可选，同步 updateTime <= endTime
     */
    Pager<KbFileInfo> listActiveFiles(int pageNum,
                                      int pageSize,
                                      LocalDateTime startTime,
                                      LocalDateTime endTime);

    /**
     * 根据业务文件 ID 查询单条记录
     */
    KbFileInfo getFileInfoById(String fileId);

}
